home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 3.iso / dist / fw_python.idb / usr / freeware / include / python1.5 / token.h.z / token.h
C/C++ Source or Header  |  2000-01-25  |  3KB  |  99 lines

  1. #ifndef Py_TOKEN_H
  2. #define Py_TOKEN_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6.  
  7. /***********************************************************
  8. Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
  9. The Netherlands.
  10.  
  11.                         All Rights Reserved
  12.  
  13. Permission to use, copy, modify, and distribute this software and its
  14. documentation for any purpose and without fee is hereby granted,
  15. provided that the above copyright notice appear in all copies and that
  16. both that copyright notice and this permission notice appear in
  17. supporting documentation, and that the names of Stichting Mathematisch
  18. Centrum or CWI or Corporation for National Research Initiatives or
  19. CNRI not be used in advertising or publicity pertaining to
  20. distribution of the software without specific, written prior
  21. permission.
  22.  
  23. While CWI is the initial source for this software, a modified version
  24. is made available by the Corporation for National Research Initiatives
  25. (CNRI) at the Internet address ftp://ftp.python.org.
  26.  
  27. STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
  28. REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
  29. MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
  30. CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
  31. DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  32. PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  33. TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
  34. PERFORMANCE OF THIS SOFTWARE.
  35.  
  36. ******************************************************************/
  37.  
  38. /* Token types */
  39.  
  40. #define ENDMARKER    0
  41. #define NAME        1
  42. #define NUMBER        2
  43. #define STRING        3
  44. #define NEWLINE        4
  45. #define INDENT        5
  46. #define DEDENT        6
  47. #define LPAR        7
  48. #define RPAR        8
  49. #define LSQB        9
  50. #define RSQB        10
  51. #define COLON        11
  52. #define COMMA        12
  53. #define SEMI        13
  54. #define PLUS        14
  55. #define MINUS        15
  56. #define STAR        16
  57. #define SLASH        17
  58. #define VBAR        18
  59. #define AMPER        19
  60. #define LESS        20
  61. #define GREATER        21
  62. #define EQUAL        22
  63. #define DOT        23
  64. #define PERCENT        24
  65. #define BACKQUOTE    25
  66. #define LBRACE        26
  67. #define RBRACE        27
  68. #define EQEQUAL        28
  69. #define NOTEQUAL    29
  70. #define LESSEQUAL    30
  71. #define GREATEREQUAL    31
  72. #define TILDE        32
  73. #define CIRCUMFLEX    33
  74. #define LEFTSHIFT    34
  75. #define RIGHTSHIFT    35
  76. #define DOUBLESTAR    36
  77. /* Don't forget to update the table _PyParser_TokenNames in tokenizer.c! */
  78. #define OP        37
  79. #define ERRORTOKEN    38
  80. #define N_TOKENS    39
  81.  
  82. /* Special definitions for cooperation with parser */
  83.  
  84. #define NT_OFFSET        256
  85.  
  86. #define ISTERMINAL(x)        ((x) < NT_OFFSET)
  87. #define ISNONTERMINAL(x)    ((x) >= NT_OFFSET)
  88. #define ISEOF(x)        ((x) == ENDMARKER)
  89.  
  90.  
  91. extern DL_IMPORT(char *) _PyParser_TokenNames[]; /* Token names */
  92. extern DL_IMPORT(int) PyToken_OneChar Py_PROTO((int));
  93. extern DL_IMPORT(int) PyToken_TwoChars Py_PROTO((int, int));
  94.  
  95. #ifdef __cplusplus
  96. }
  97. #endif
  98. #endif /* !Py_TOKEN_H */
  99.